22ef374b0b6e77296876c4a6dd352da987ddb61b,plugins/vcs/common/source_gen/jetbrains/mps/vcs/platform/integration/ModelMergeTool.java,ModelMergeTool,show,#DiffRequest#,36

Before Change


      final SModel newModel;
      try {
        baseModel = ModelPersistence.readModel(contents[MergeConstants.ORIGINAL].getDocument().getText(), false);
        mineModel = ModelPersistence.readModel(new String(contents[MergeConstants.CURRENT].getBytes(), FileUtil.DEFAULT_CHARSET), false);
        newModel = ModelPersistence.readModel(new String(contents[MergeConstants.LAST_REVISION].getBytes(), FileUtil.DEFAULT_CHARSET), false);
      } catch (ModelReadException e) {
        if (LOG_705910402.isEnabledFor(Priority.WARN)) {
          LOG_705910402.warn("Couldn't read model, invoking text merge", e);
        }
        super.show(request);
        return;
      }

      final MergeModelsDialog dialog = new MergeModelsDialog(baseModel, mineModel, newModel, mrequest);
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          dialog.toFront();
        }
      });
      dialog.show();
      SModel resultModel = dialog.getResultModelWithFixedId();
      if (resultModel != null) {
        String asString = ModelPersistence.modelToString(resultModel);
        resolved(mrequest, asString);

After Change


      DiffContent[] contents = mrequest.getContents();
      String ext = file.getExtension();
      SModel baseModel = PersistenceUtil.loadModel(contents[MergeConstants.ORIGINAL].getDocument().getText(), ext);
      SModel mineModel = PersistenceUtil.loadModel(contents[MergeConstants.CURRENT].getBytes(), ext);
      SModel newModel = PersistenceUtil.loadModel(contents[MergeConstants.LAST_REVISION].getBytes(), ext);
      if (baseModel == null || mineModel == null || newModel == null) {
        if (LOG_705910402.isEnabledFor(Priority.WARN)) {
          LOG_705910402.warn("Couldn't read model, invoking text merge");
        }
        super.show(request);
        return;
      }

      final MergeModelsDialog dialog = new MergeModelsDialog(baseModel, mineModel, newModel, mrequest);
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          dialog.toFront();
        }
      });
      dialog.show();
      SModel resultModel = dialog.getResultModelWithFixedId();
      if (resultModel != null) {
        String asString = ModelPersistence.modelToString(as_7qvsj_a0a0a0a41a1a2(resultModel, SModelBase.class).getSModelInternal());
        resolved(mrequest, asString);